package sinfoci.alquimiabtl.notificaciones.adaptadores;

import java.util.List;

import sinfoci.alquimiabtl.notificaciones.objetos.Notificacion;
import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import sinfoci.alquimiabtl.notificaciones.actividades.R;
import com.nostra13.universalimageloader.core.ImageLoader;

/**
 * Este es un adaptador utilizado en las listas desplegables
 * 
 * @author Bryan Camilo Perez Trujillo <br>
 *         AlquimiaBTL - SINFOCI
 * 
 */
public class ItemNotificacionAdapter extends BaseAdapter {
	/**
     * 
     */
	protected Context context;
	/**
	 * Este atributo representa una lista de notificaciones
	 */
	protected List<Notificacion> items;
	/**
	 * 
	 */
	protected int R_layout_idView;

	/**
	 * 
	 * Este es el contructor de la clase
	 * 
	 * @param activity
	 * @param R_layout_idView
	 * @param items
	 */
	public ItemNotificacionAdapter(Context activity, int R_layout_idView,
			List<Notificacion> items) {
		this.context = activity;
		this.items = items;
		this.R_layout_idView = R_layout_idView;
	}

	@Override
	public int getCount() {
		return items.size();
	}

	@Override
	public Object getItem(int position) {
		return items.get(position);
	}

	@Override
	public long getItemId(int position) {
		return items.get(position).getIdNotificacion();
	}

	@Override
	public View getView(int position, View contentView, ViewGroup parent) {
		View vi = contentView;

		if (contentView == null) {
			LayoutInflater inflater = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			vi = inflater.inflate(R_layout_idView, null);
		}

		Notificacion item = items.get(position);
		Typeface font = Typeface.createFromAsset(context.getAssets(),
				"Trebuchet MS.ttf");

		if (item != null && item.getImagen() != null) {
			ImageView image = (ImageView) vi.findViewById(R.id.imagen);
			ImageLoader.getInstance().displayImage(item.getImagen(), image);
		}

		TextView nombre = (TextView) vi.findViewById(R.id.nombre);
		nombre.setText(item.getNombre());
		nombre.setTypeface(font);

		return vi;
	}

}
